#pragma once

#include <gofcl_usbfs_doepint.h>
#include <gofcl_usbfs_ep_r.h>

static inline void usbfs_wreg_doepintf_s(usbfs_ep_rre ep_rr,
					 usbfs_doepint_s depintf) {
	union {
		usbfs_doepint_s d;
		u32_s u;
	} du = {
		.d = depintf,
	};
	usbfs_wreg_ep(USBFS_EP_DO_R, ep_rr, USBFS_EP_INTF, du.u);
}

static inline usbfs_doepint_s usbfs_rreg_doepintf_s(usbfs_ep_rre ep_rr) {
	union {
		usbfs_doepint_s d;
		u32_s u;
	} du = {
		.u = usbfs_rreg_ep(USBFS_EP_DO_R, ep_rr, USBFS_EP_INTF),
	};
	return du.d;
}
